# Функциональное программирование

Scala позволяет писать код в стиле объектно-ориентированного программирования (ООП), 
функционального программирования (ФП), а также в гибридном стиле — используя комбинацию обоих подходов. 
По словам Мартина Одерского, суть Scala - это слияние функционального и объектно-ориентированного программирования в типизированной среде:

- функции для логики
- объекты для модульности

В этой главе дается краткое введение в несколько основных концепций функционального программирования:

- что такое функциональное программирование?
- неизменяемые значения
- чистые функции
- функции - это значения
- функциональная обработка ошибок

Функциональное программирование - это огромная тема, поэтому здесь будут даны только вводные понятия. 
Более подробная информация будет раскрыта в отдельной документации.


---

**Ссылки:**

- [Scala3 book](https://docs.scala-lang.org/scala3/book/fp-intro.html)
